Sequence counter for an audio visual stream

ABSTRACT

A conditional access system and method including a first source device and a first sink device coupled to the first source device, wherein the source device includes a module for generating sequence counter values and appending the values to content transmitted from the source device to the sink device.

RELATED APPLICATIONS

[0001] The present application claims priority under 35 U.S.C. § 120 ofU.S. Provisional Application 60/316,373, filed Aug. 31, 2001.

FIELD OF THE INVENTION

[0002] This present invention relates to a method and apparatus forprotecting content, and in particular, a method and apparatus forprotecting audio-visual (A/V) content from repeat viewing withoutauthorization.

BACKGROUND OF THE INVENTION

[0003] Content Protection (CP) systems are well known for providingprotection of audio-visual (A/V) content. Typically, a contentprotection system includes a source device (e.g., set top box (STB),digital videocassette (DVCR or DVHS) player, digital versatile (orvideo) disc (DVD) player, etc.) and a sink device (e.g., digitaltelevision (DTV), etc.). As will be understood by those skilled in theart, the ‘source’ device is so named because it provides a source of A/Vcontent. Similarly, the ‘sink’ device provides a medium for viewing theA/V content. In order to prevent multiple viewing of certain A/Vcontent, a content protection system is typically installed between thesource and he sink device. For example, in the case of a certain programrecorded using a DVCR, the CP system will prevent viewing of the programbeyond the limits set by the provider of the program (e.g., copyrightholder). For instance, the provider may permit the program to be watchedonce, but not thereafter. In such a case, the CP system would preventviewing of the program on the sink device (e.g., DTV) if the userattempts to play the program through the DVCR more than once.

[0004] Some commercially available products have recording systems whichpermit a function commonly known as ‘video pause’ mode (e.g., TiVO,etc.). These products are often referred to as Personal Video Recorders(PVRs). In some instances, a PVR may be integrated into a television orother apparatus to allow ‘video pause’ of the television picture. Inoperation, a ‘live’ A/V stream enters the television for viewing. Thislive A/V stream is transmitted to a recording device operating in apassive mode (e.g., computer memory, etc.) in the television before itis presented on the display screen of the television. Initially, therecording device operates only as ‘pass-through’, and passes the contentstream on to the display screen unaltered, while at the same time makinga copy of the content stream. When the user selects the ‘video pause’function the output of the recording device is no longer sent to thedisplay screen, but the recording continues. When the user deselects the‘video pause’ function (i.e., cunpauses’ the television), the contentstream from the recording device to the display screen resumes from thepaused location, and the recording continues. The content stream viewedby the user is now delayed by the amount of the pause time. At thispoint, the user has the option of either watching the time delayedcontent stream, or ‘catching up’ with the live content stream byskipping portions of the recorded content stream. Consumers appreciatethis feature as it allows them to carry out other tasks without havingto miss portions of a live broadcast (e.g., you can go make a sandwichduring a live football game and not miss a second of the action).

[0005] Another feature of PVRs is the ability to perform an ‘instantreplay’ function (the playing of the same portion of content over andover again). Thus, if a user wished to watch a pivotal play in afootball game over again several time to determine if the referee made agood call, the PVR typically permits the storing of content for thisfunction as well.

[0006] However, ‘video pause’ and ‘instant replay’ functionality presentseveral problems as well. Content providers desire to sell their mostvaluable content on a ‘view only’ basis (i.e., no recordings arepermitted). By the same token, the content providers may want to controlwhat functionality is allowed to consumers, for example, allowing a‘video pause’ function, but preventing an ‘instant replay’ function.

[0007] Present solutions to this problem include licensing televisionmanufacturers and prohibiting storage of the content for more than aspecified period of time. For example, the ‘video pause’ recorder wouldonly store the bit stream for a maximum of twenty four (24) hours. Afterthe specified time period has expired, the recording deviceautomatically erases the recording. This solution is problematic becauseif the recording device is hacked in the interim period (e.g., within 24hours), the content is available to be copied. Additionally, if therecording device is somehow deceived about the time, the content may beavailable for longer periods then intended by the content provider.

[0008] Thus, there is presently a need for a method and apparatus forcopy protecting content stored during video pause mode so that thecontent may only be viewed in the limited manner intended by the contentproviders.

SUMMARY OF THE INVENTION

[0009] The present invention comprises a method for implementing aconditional access system, including appending, in a source device, asequence counter value to content transmitted from the source device toa sink device, storing the sequence counter value in the sink device,comparing the sequence counter value to a reference sequence countervalue stored at the sink device, and providing an output signal which isviewable on the sink device if the sequence counter value is greaterthan or equal to the reference sequence counter value stored in the sinkdevice.

[0010] The present invention also comprises a method for implementing aconditional access system, including receiving content and at least onesequence counter value in a sink device, storing the at least onesequence counter value in the sink device, comparing the sequencecounter value to a reference sequence counter value stored at the sinkdevice, and providing an output signal which is viewable on the sinkdevice if the sequence counter value is greater than or equal to thereference sequence counter value stored in the sink device.

[0011] Further, the present invention comprises a conditional accesssystem including a first source device and a first sink device coupledto the first source device, wherein the source device includes a firstmodule for generating sequence counter values and appending the valuesto content transmitted from the source device to the sink device, andwherein the sink device includes a second module for storing thesequence counter values in the sink device.

[0012] Additionally, the present invention comprises a method forimplementing a conditional access system, the method comprisingappending a sequence counter value to content transmitted from a firstsource device to a sink device and a second source device, storing thesequence counter value together in the second source device,transmitting the sequence counter value together with the content fromthe second source device to the sink device, comparing the sequencecounter value to a reference sequence counter value stored at the sinkdevice, and providing an output signal which is viewable on the sinkdevice if the sequence counter value is greater than or equal to thereference sequence counter value stored in the sink device.

[0013] The present invention also comprises a method for implementing aconditional access system, the method comprising receiving content andat least one sequence counter value in a source device, storing the atleast one sequence counter value in the source device, transmitting thesequence counter value together with the content from the source deviceto a sink device, comparing the sequence counter value to a referencesequence counter value stored at the sink device, and providing anoutput signal which is viewable on the sink device if the sequencecounter value is greater than or equal to the reference sequence countervalue stored in the sink device.

[0014] The present invention also comprises a conditional access systemincluding first and second source devices and a first sink devicecoupled to the first and second source devices, wherein the first sourcedevice includes a first module for generating sequence counter valuesand appending the values to content transmitted from the first sourcedevice to the sink device and the second source device, and wherein thesink device includes a second module for storing the sequence countervalues in the sink device.

[0015] The present invention also comprises a method for implementing aconditional access system, comprising appending, in a source device, asequence counter value to content transmitted from the source device toa sink device, storing the sequence counter value in a recording deviceconnected to the source device and the sink device, transmitting thecontent and the sequence counter value from the recording device to thesink device, comparing the sequence counter value to a referencesequence counter value stored at the sink device, and providing anoutput signal which is viewable on the sink device if the sequencecounter value is greater than or equal to the reference sequence countervalue stored in the sink device.

[0016] The present invention also comprises a conditional access systemincluding first and second source devices, a first sink device coupledto the first and second source devices, and a recording device coupledbetween the first source device and the sink device, wherein the firstsource device includes a first module for generating sequence countervalues and appending the values to content transmitted from the firstsource device to the recording device and the second source device, andwherein the sink device includes a second module for storing thesequence counter values in the sink device, and wherein the recordingdevice stores the content.

[0017] Finally, the present invention comprises a method forimplementing a conditional access system, comprising receiving contentand at least one sequence counter value in a sink device, storing thesequence counter value in a recording device connected to the sourcedevice and the sink device, transmitting the content and the sequencecounter value from the recording device to the sink device, comparingthe sequence counter value to a reference sequence counter value storedat the sink device, and providing an output signal which is viewable onthe sink device if the sequence counter value is greater than or equalto the reference sequence counter value stored in the sink device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018]FIG. 1 is block diagram showing an apparatus according to a firstexemplary embodiment of the present invention.

[0019]FIG. 2 is block diagram showing an apparatus according to a secondexemplary embodiment of the present invention.

DETAILED DESCRIPTION

[0020] The present invention is a method and apparatus for copyprotecting audio-visual (A/V) content. Through the utilization of asequence counter, viewing of content stored in a recording device may besignificantly restricted. In an exemplary embodiment of the presentinvention, a first source device (e.g., set top box (STB)) is providedwith a device identifier and a sequence counter, and a sink device(e.g., digital television (DTV), etc.) is equipped to store the deviceidentifier and sequence counter values for the associated sink device.By comparing the sequence counter values transmitted by the first sourcedevice with sequence counter values stored in the sink device,protection of content may be accomplished.

[0021]FIG. 1 shows a system 100 according to a first exemplaryembodiment of the present invention. The system 1100 comprises a contentsource 105, a sink device 110, such as a digital television (DTV), afirst source device 120, such as a set top box (STB), digital versatile(or video) disc (DVD) player, or Personal Video Recorder (PVR), and asecond source device 130 which permits recording, such as a digitalvideocassette (DVCR or DVHS) player/recorder, a digital versatile (orvideo) disc (DVD) player/recorder, or a PVR. As is well known in theart, a DVCR, a PVR or a DVD player/recorder will permit recording ofcontent on a digital medium. In the exemplary embodiment shown in FIG.1, the sink device 110 also preferably includes integrated therein arecording device 117 for executing a ‘video pause’ function.

[0022] The first source device 120 preferably includes a first securemodule 121 which contains a sequence counter value generator. Thesequence counter value generator may be of any suitable size, but ispreferably 32 bit (generating 32 bit sequence counter values). Ofcourse, those of ordinary skill in the art will realize that any bitsize may be used for the sequence counter values (e.g., 40 bit, 56 bit,64, bit etc.), depending on the desired security and relative complexityof the system. In accordance with the present invention, the firstsecure module generates sequence counter values and appends thesesvalues to content which is transmitted by the first source device 120.

[0023] In the first exemplary embodiment, the second source device 130comprises a means for playing and recording content, such as a DVDplayer/recorder or a DVHS/DVCR player/recorder. Those of ordinary skillin the art will realize that the second source device 130 may alsoinclude a secure module with a sequence counter, however, such is notnecessary in the exemplary embodiment shown in FIG. 1 because it isassumed that all content which is recorded and played back by the secondsource device comes from the first source device 120 (and thus alreadycontains the sequence counter values embedded therein). If the secondsource device 130 were to receive secured content from other outsidesources, a secure module with sequence counter would be required inorder to prevent unauthorized viewing of the content.

[0024] Preferably, the first source device 120 and the second sourcedevice 130 also have respective device identifiers (device IDs)associated therewith. The device ID may be, for example, the serialnumber value of the respective source devices 120, 130. These device IDsare used in the present invention to identify content with respect tothe particular source device which originally supplied the content.

[0025] The sink device 110 preferably includes a second secure module111 which checks the sequence counter values as they are transmittedwith content from either the first source device 120 or the secondsource device 130. The second secure module 111 also updates respectivesequence counter databases corresponding to each source device coupledto the sink device (e.g., source devices 120, 130, etc.) each time a newvalue is transmitted.

[0026] When content is transmitted from the first source device 120, thesequence counter values generated in the first secure module 121 areembedded in the content. It will be understood by those skilled in theart that the embedding of the sequence counter values in the contentshould be done in a secure manner so as to prevent a user from tamperingwith the sequence counter values. For example, the sequence countervalue may be included as a data field in the Entitlement Control Message(ECM) that carries Control Words (CWs) for the content. This insuresthat any recording device (e.g., 130 or 117) will need to store theoriginal counter values rather than replacing them. At periodicintervals (e.g., every 10 seconds), the sequence counter generator ofthe first secure module 121 is incremented and the new value is used inthe content stream which is sent from the first source device 120. Whenthe sink device 110 receives the sequence counter values, they arestored in respective sequence counter databases corresponding to eachsource device coupled to the sink device (e.g., source devices 120,130). For example, the first sequence counter value transmitted with thecontent may be “0001”, and successive sequence counter values may be“0002”, “0003” and so on.

[0027] If the sink device 110 is coupled to more than one source device(such as shown in FIG. 1), the sink device 110 preferably retains (e.g.,in a memory or otherwise) a list of all source devices from which itreceives content as well as a list of the device IDs for each sourcedevice. In the above-described exemplary system 100, the sink device 110would need to store the device ID for the first source device 120 andthe device ID for the second source device 130, if both devices have theability to receive secure content into the network to the sink device.For example, the sink device 110 may store device ID1 corresponding tothe first source device 120 in a first memory location, and device ID2corresponding to the second source device 130 in a second memorylocation.

[0028] When the sink device 110 is about to render content (e.g.,display the content on a display screen of the sink device or a displayscreen coupled to the sink device) the sink device decrypts the ECMs toget the proper CWs for decryption of the content. As the decryption ofthe ECMs proceeds, the sink device 110 also recovers the sequencecounter value embedded in the ECM and compares the value to the lastvalue stored in the respective sequence counter for that source device.If the received sequence counter value is equal to or greater thangreatest value that has already been transmitted by the particularsource device (e.g., source device 120), the sink device 110 renders thecontent. If the sequence counter value is less than the greatest valuethat has already been transmitted by the particular source device (e.g.,source device 120), the sink device 110 will not render the content(i.e., the sink device will not display the content on a display screenof the sink device or a display screen coupled to the sink device).Further, if the sequence counter value is higher than the greatest valuethat has already been transmitted by the particular source device (e.g.,source device 120), the sink device also updates the stored sequencecounter value for the respective source device (e.g., source device120).

[0029] For example, if source device 120 transmits program A directly tothe sink device 110 or second source device 130 for viewing, the firstsequence counter value received by the sink device may be 0001. If theuser engages the ‘video pause’ feature (recording device 117) of thetelevision (sink device 110) before the next sequence counter value isreceived, the television continues-to receive content with highersequence counter values (e.g., 0002, 0003, etc.), but the sequencecounter value within the second secure module 111 of the sink device 110is not updated. Thus, when the user returns and ‘unpauses’ thetelevision, the content continues from the pause point and the sequencecounter value is updated accordingly as the user watches the recordedversion of the program.

[0030] Once the user has watched the ‘paused’ version of the program, hemay not go back and watch the program again even though the program mayremain stored in sink device 110. This is because the sequence countervalue stored in second secure module 111 and associated with the sourcedevice 120 will have a reached a value corresponding to the end of theprogram (e.g., 0100), and thus will not permit re-viewing of portionswith sequence counter values less than this value. The result of theabove is that pausing of content may occur, but recording of content fora long period is effectively prevented.

[0031] The second source device 130 may also be used in the same manneras the recording device 117 to record programs for later viewing, andthe first secure module 121 will provide protection therefor. Forexample, if the first source device 120 transmits program A to thesecond source device 130 for recording, the first sequence counter valuereceived by the second source device may again be 0001. If the programhas sequence counter values through 0100, and the user records theentire program, the user will be able to watch the recorded program onthe sink device 110 at any later time, provided the user has notpreviously viewed the program on the sink device 110 (e.g., the userwatched the program while recording it). Accordingly, theabove-described system 100 permits the following actions: (1) liveviewing of content, (2) paused viewing, (3) viewing a short piece of thecontent over and over (provided that the sequence counter does notincrement in the span that is being played), (4) pausing a program,watching something from another source device and then un-pausing theoriginal program, and (5) watching one program on a first sink deviceand then watching the program again on another sink device. As far asthe content provider is concerned, numbers (3) and (5) above are notoptimal results, however, the content provider will likely submit tothese results given the benefits provided by numbers (1), (2), and (4).

[0032] For example, consider two programs, Movie A and Movie B. BothMovie A and Movie B are transmitted from the same source device (e.g.,source device 120) and are rendered on the same sink device (e.g., sinkdevice 110). Movie A is transmitted with sequence counter values from0001-1000 and Movie B is transmitted with sequence values from1001-2000. If a recording of Movie A is made in the sink device 110(e.g., using the ‘video pause’ feature) while movie A is also beingviewed on the sink device, and the user ‘pauses’ the movie (“pausedviewing”; Example (2) discussed above) at sequence counter value 573,the user may go back and watch portions of movie A with sequence countervalues equal to and above 573 (e.g., 573-1000). Portions of Movie Awhich have sequence counter values from 1-572 may not be viewed.Similarly, if the user watches all of Movie A (through sequence countervalue 1000), the user may not go back and watch any portion of the moviewhich was recorded in the sink device 110 (or recorded in an externaldevice such as sink device 130) because each portion of the movie has asequence counter value lower than the maximum stored value (e.g., 1000).

[0033] Additionally, if the user ‘pauses’ Movie A, watches Movie B, andthen attempts to finish viewing Movie A, the user will not be permittedto watch the rest of Movie A as the sequence counter value for the sinkdevice is now at the last sequence counter value in Movie B (e.g.,2000), and the unwatched portions of Movie A have lower sequence countervalues. Although this result may not be ideal for consumers (i.e.,because they have paid for all of Movie A and have only been permittedto watch part of it), the content provider prefers this result, as itprevents long-term storage of the recorded (paused) content (in thiscase Movie A).

[0034]FIG. 2 shows a system 200 according to a second exemplaryembodiment of the present invention. The system 200 is similar to system100 described above, and like reference numerals denote like elements.The main difference between systems 100 and 200 is that, in system 200the recording device 240 is disposed outside the sink device 110 (asopposed to being internal to the sink device). The system 200 comprisesa content source 205, a sink device 210, such as a digital television(DTV), a first source device 220, such as a set top box (STB), digitalversatile (or video) disc (DVD) player, or Personal Video Recorder(PVR), and a second source device 230 which permits recording, such as adigital videocassette (DVCR or DVHS) player/recorder, a digitalversatile (or video) disc (DVD) player/recorder, or a PVR. As is wellknown in the art, a DVCR, a PVR or a DVD player/recorder will permitrecording of content on a digital medium. The system 200 also includes arecording device 240 for executing a ‘video pause’ function. The system200 operates substantially similarly to the system 100 described above,and therefore a detailed description is omitted here.

[0035] Although the invention has been described in terms of exemplaryembodiments, it is not limited thereto. Rather, the appended claimsshould be construed broadly, to include other variants and embodimentsof the invention which may be made by those skilled in the art withoutdeparting from the scope and range of equivalents of the invention.

1. A method for implementing a conditional access system, comprising:appending, in a source device, a sequence counter value to contenttransmitted from the source device to a sink device; storing thesequence counter value in the sink device; comparing the sequencecounter value to a reference sequence counter value stored at the sinkdevice; and, providing an output signal which is viewable on the sinkdevice if the sequence counter value is greater than or equal to thereference sequence counter value stored in the sink device.
 2. Themethod of claim 1, wherein the content is stored with the sequencecounter value in the sink device.
 3. The method of claim 1, comprisingthe further step of: providing an output signal which is not viewable onthe sink device if the sequence counter value is less than the referencesequence counter value stored in the sink device.
 4. The method of claim1, wherein the step of storing the sequence counter value together withthe content in the sink device comprises storing the sequence countervalue and the content in a recording device.
 5. The method of claim 1,wherein the method permits storage of the content for viewing at a latertime.
 6. A method for implementing a conditional access system,comprising: receiving content and at least one sequence counter value ina sink device; storing the at least one sequence counter value in thesink device; comparing the sequence counter value to a referencesequence counter value stored at the sink device; and, providing anoutput signal which is viewable on the sink device if the sequencecounter value is greater than or equal to the reference sequence countervalue stored in the sink device.
 7. The method of claim 6, wherein thecontent is stored with the sequence counter value in the sink device. 8.A conditional access system comprising: a first source device; and afirst sink device coupled to the first source device, wherein the sourcedevice includes a first module for generating sequence counter valuesand appending the values to content transmitted from the source deviceto the sink device, and wherein the sink device includes a second modulefor storing the sequence counter values in the sink device.
 9. Theconditional access system of claim 8, wherein the second modulecomprises a recording device.
 10. The conditional access system of claim8, wherein the sequence counter values are included as data fields inentitlement control messages transmitted from the source device to thesink device.
 11. The conditional access system of claim 8, wherein thesink device includes a first sequence counter corresponding to the firstsource device, said sequence counter being periodically updated based onthe sequence counter values received from the first source device. 12.The conditional access system of claim 8, further comprising: a secondsource device also coupled to the first sink device, wherein said firstand second source devices have separate device identifier values. 13.The conditional access system of claim 12, wherein the sink deviceincludes first and second sequence counters corresponding to the firstand second source devices, said first and second sequence counters beingperiodically updated based on the sequence counter values received fromthe first and second source devices.
 14. The conditional access systemof claim 8, wherein the first sink device includes a memory unit forstoring content transmitted by the first source device.
 15. Theconditional access system of claim 8, wherein the second module permitsstorage of the content for viewing at a later time.
 16. The conditionalaccess system of claim 8, wherein the content is stored with thesequence counter value in the sink device.
 17. A method for implementinga conditional access system, said method comprising: appending asequence counter value to content transmitted from a first source deviceto a sink device and a second source device; storing the sequencecounter value together in the second source device; transmitting thesequence counter value together with the content from the second sourcedevice to the sink device; comparing the sequence counter value to areference sequence counter value stored at the sink device; and,providing an output signal which is viewable on the sink device if thesequence counter value is greater than or equal to the referencesequence counter value stored in the sink device.
 18. The method ofclaim 17, comprising the further step of: providing an output signalwhich is not viewable on the sink device if the sequence counter valueis greater than or equal to the reference sequence counter value storedin the sink device.
 19. The method of claim 17, wherein the content isstored with the sequence counter value in the sink device.
 20. A methodfor implementing a conditional access system, said method comprising:receiving content and at least one sequence counter value in a sourcedevice; storing the at least one sequence counter value in the sourcedevice; transmitting the sequence counter value together with thecontent from the source device to a sink device; comparing the sequencecounter value to a reference sequence counter value stored at the sinkdevice; and, providing an output signal which is viewable on the sinkdevice if the sequence counter value is greater than or equal to thereference sequence counter value stored in the sink device.
 21. Themethod of claim 20, wherein the content is stored with the sequencecounter value in the sink device.
 22. A conditional access systemcomprising: first and second source devices; and a first sink devicecoupled to the first and second source devices, wherein the first sourcedevice includes a first module for generating sequence counter valuesand appending the values to content transmitted from the first sourcedevice to the sink device and the second source device, and wherein thesink device includes a second module for storing the sequence countervalues in the sink device.
 23. The conditional access system of claim22, wherein the content is stored with the sequence counter value in thesink device.
 24. A method for implementing a conditional access system,comprising: appending, in a source device, a sequence counter value tocontent transmitted from the source device to a sink device; storing thesequence counter value in a recording device connected to the sourcedevice and the sink device; transmitting the content and the sequencecounter value from the recording device to the sink device; comparingthe sequence counter value to a reference sequence counter value storedat the sink device; and, providing an output signal which is viewable onthe sink device if the sequence counter value is greater than or equalto the reference sequence counter value stored in the sink device. 25.The method of claim 24, wherein the content is stored with the sequencecounter value in the sink device.
 26. A conditional access systemcomprising: first and second source devices; a first sink device coupledto the first and second source devices; and a recording device coupledto the first source device and the sink device, wherein the first sourcedevice includes a first module for generating sequence counter valuesand appending the values to content transmitted from the first sourcedevice to the recording device and the second source device, and whereinthe sink device includes a second module for storing the sequencecounter values in the sink device, and wherein the recording devicestores the content.
 27. A method for implementing a conditional accesssystem, comprising: receiving content and at least one sequence countervalue in a sink device; storing the sequence counter value in arecording device connected to the source device and the sink device;transmitting the content and the sequence counter value from therecording device to the sink device; comparing the sequence countervalue to a reference sequence counter value stored at the sink device;and, providing an output signal which is viewable on the sink device ifthe sequence counter value is greater than or equal to the referencesequence counter value stored in the sink device.
 28. The method ofclaim 27, wherein the content is stored with the sequence counter valuein the sink device.